package com.fzg.service;

import com.fzg.common.enums.ResponseWrapper;
import com.fzg.common.model.user.param.*;
import com.fzg.entity.User;
import com.baomidou.mybatisplus.extension.service.IService;
import org.springframework.web.multipart.MultipartFile;


/**
 * <p>
 * 用户表 服务类
 * </p>
 *
 * @author fzg
 * @since 2021-12-13
 */
public interface UserService extends IService<User> {

    /**
     * 上传文件
     * @param multipartFile 文件
     */
    ResponseWrapper uploadFile(MultipartFile multipartFile);

    /**
     * 修改密码
     */
    ResponseWrapper editPassword(EditPasswordParam param);


    /**
     * 获取用户列表
     * @param param 参数
     * @return ResponseWrapper
     */
    ResponseWrapper getUserList(GetUserListParam param);

    /**
     * 删除用户
     */
    ResponseWrapper delUser(Integer aid);

    /**
     * 编辑用户
     */
    ResponseWrapper editUser(EditUserParam param);

    /**
     * 新增用户
     */
    ResponseWrapper addUser(AddUserParam param);

    /**
     * 新增或者删除时判断账号是否存在
     */
    ResponseWrapper checkAccount(CheckAccountParam param);

    /**
     * 新增或者删除时判断手机号是否存在
     */
    ResponseWrapper checkPhone(CheckPhoneParam param);

    /**
     * 获取除了管理员以外的所有用户
     */
    ResponseWrapper getAllUserExceptAdmin();

    /**
     * 获取有求职信息的用户列表
     */
    ResponseWrapper getHaveHuntJobInfoUserAndJobList();

    /**
     * 将简历url保存到数据库
     */
    ResponseWrapper saveResumeUrl(SaveResumeUrl param);

}
